// 两根线
// 同步：组件 commit -> mutations -> state
// 异步： 组件 dispatch -> actions -> commit -> mutations -> state
import { loginApi } from '@/api/user.js'
import router from '@/router'
import { Message } from 'element-ui'
export default {
  // 开启命名空间
  namespaced: true,
  // 放数据的地方
  state: {
    token: null
  },
  // 相当于组件中计算属性
  getters: {},
  // 这个是唯一修改state中数据地方
  mutations: {
    // setCount(state) {}
    setToken(state, token) {
      state.token = token
    },
    removeToken(state) {
      state.token = null
    }
  },
  // 写异步的ajax的地方
  actions: {
    // async   loginAction(context, payload) {
    //   const res = await loginApi(payload)
    //   // console.log(res, 'loginAction')
    //   context.commit('setToken', res.token)
    // }
    loginAction(context, payload) {
      loginApi(payload).then((res) => {
        // console.log(res, 'loginAction')
        if (res.success) {
          Message.success(res.msg)
          context.commit('setToken', res.token)
          router.push('/')
        } else {
          Message.error(res.msg)
        }
      })
    }

  }
}
